VPI - 视觉编程接口

3.2 版本

Types.h 文件参考

定义了使用 VPI 编程所需的所有类型。 更多...

#include "ImageFormat.h"
#include "Interpolation.h"
#include "PixelType.h"
#include "Status.h"
#include "Version.h"
#include <stdint.h>
+ Types.h 的包含依赖关系图
+ 此图显示哪些文件直接或间接地包含此文件

转到此文件的源代码。

数据结构

struct  VPIParallelForConfig
 存储 ParallelFor 配置。 更多...
 
struct  VPIPyramidalKeypointF32
 存储基于浮点数 32 位的金字塔关键点坐标。该坐标包括金字塔内图像中的 (x, y) 位置,以及(八度和层)选择该金字塔上的特定图像。 更多...
 
struct  VPIKeypointF32
 存储浮点数 32 位的关键点坐标。该坐标相对于图像的左上角。 更多...
 
struct  VPIKeypointU32
 存储 U32 关键点坐标。该坐标相对于图像的左上角。 更多...
 
struct  VPIBriefDescriptor
 存储 BRIEF 描述符。 更多...
 
struct  VPIHomographyTransform2D
 存储通用 2D 单应性变换。 更多...
 
struct  VPIBoundingBox
 存储通用 2D 边界框。 更多...
 
struct  VPIAxisAlignedBoundingBoxF32
 存储轴对齐的 32 位浮点数 2D 边界框。 更多...
 
struct  VPIKLTTrackedBoundingBox
 存储正在被 KLT 跟踪器 跟踪的边界框。 更多...
 
struct  VPIDCFTrackedBoundingBox
 存储关于被 DCF 跟踪器 跟踪的对象的信息。 更多...
 
struct  VPIStats
 存储图像的统计信息。 更多...
 
struct  VPIMatches
 存储 2 个描述符之间的匹配项。 更多...
 
struct  VPIRectangleI
 存储矩形的几何信息。 更多...
 
struct  VPIAprilTagDetection
 存储来自 AprilTag 检测器 的 AprilTag 检测信息。 更多...
 
struct  VPIPose
 估计从一个 3D 坐标系到另一个 3D 坐标系的变换,并带有对象空间误差。 更多...
 

#define VPI_BRIEF_DESCRIPTOR_ARRAY_LENGTH   32
 Brief 描述符数组的长度。
 
#define VPI_BRIEF_DESCRIPTOR_BIT_WIDTH   (VPI_BRIEF_DESCRIPTOR_ARRAY_LENGTH * 8)
 Brief 描述符的位长度。
 
#define VPI_MAX_MATCHES_PER_DESCRIPTOR   (3)
 每个描述符的最大匹配数。
 
#define VPI_TERMINATION_CRITERIA_ITERATIONS   (1u << 0)
 定义终止条件宏。 更多...
 
#define VPI_TERMINATION_CRITERIA_EPSILON   (1u << 1)
 基于最大误差 (epsilon) 的终止。
 
#define VPI_STAT_PIXEL_COUNT   (1U << 0)
 定义要计算的统计信息。 更多...
 
#define VPI_STAT_SUM   (1U << 1)
 计算每通道总和。
 
#define VPI_STAT_MEAN   ((1U << 2) | VPI_STAT_SUM | VPI_STAT_PIXEL_COUNT)
 计算每通道均值。
 
#define VPI_STAT_VARIANCE   ((1U << 3) | VPI_STAT_MEAN)
 计算协方差矩阵,其中包含每个通道的方差。
 
#define VPI_STAT_COVARIANCE   ((1U << 4) | VPI_STAT_VARIANCE)
 计算完整的协方差矩阵。
 
通用对象标志。

这些标志可以传递给以下对象的创建函数

它们可能会更改已创建对象的一些特性,以符合某些预期行为。

#define VPI_EXCLUSIVE_STREAM_ACCESS   (1ULL << 16)
 指定内存将一次仅由一个流访问。 更多...
 
#define VPI_RESTRICT_MEM_USAGE   (1ULL << 17)
 限制内存资源使用量的标志。 更多...
 
#define VPI_REQUIRE_BACKENDS   (1ULL << 18)
 要求创建请求的后端。 更多...
 

类型定义

typedef void(* VPIParallelTask) (int taskId, int threadId, void *vpiData)
 并行任务函数指针类型。
 
typedef void(* VPIParallelForCallback) (VPIParallelTask task, int taskCount, void *vpiData, void *userData)
 并行 for 回调函数指针类型。 更多...
 
typedef void * VPINativeThreadHandle
 操作系统特定线程句柄的句柄。
 
typedef struct VPIArrayImpl * VPIArray
 数组的句柄。
 
typedef struct VPIContextImpl * VPIContext
 上下文的句柄。
 
typedef struct VPIEventImpl * VPIEvent
 事件的句柄。
 
typedef struct VPIStreamImpl * VPIStream
 流的句柄。
 
typedef struct VPIImageImpl * VPIImage
 图像的句柄。
 
typedef struct VPIPyramidImpl * VPIPyramid
 图像金字塔的句柄。
 
typedef struct VPIPayloadImpl * VPIPayload
 算法负载的句柄。
 
typedef float VPICameraIntrinsic[2][3]
 相机内参矩阵。 更多...
 
typedef float VPICameraExtrinsic[3][4]
 相机外参矩阵。 更多...
 
typedef float VPIPerspectiveTransform[3][3]
 表示 2D 透视变换。 更多...
 

枚举

enum  VPIBorderExtension
 图像边界扩展指定应如何构造图像域外部的像素值。 更多...
 
enum  VPIConversionPolicy
 在图像类型之间转换时使用的策略。 更多...
 
enum  VPICornerScore
 定义不同类型的角点得分。 更多...
 
enum  VPITrackingState
 对象跟踪状态。 更多...
 
enum  VPIOpticalFlowQuality
 定义光流算法的质量。 更多...
 
enum  VPILockMode
 定义内存锁定函数使用的锁定模式。 更多...
 
enum  VPIEventState
 定义事件的状态。 更多...
 
enum  VPIFlipMode
 定义图像翻转方向。 更多...
 
enum  VPINormType
 定义向量的大小。 更多...
 
enum  VPIGradientMethod
 生成梯度的不同方法。 更多...
 

内存创建标志。

这些标志可以在创建图像、金字塔或数组时使用。

#define VPI_BACKEND_TEGRA   (VPI_BACKEND_VIC | VPI_BACKEND_NVENC | VPI_BACKEND_OFA)
 仅 Tegra 后端。
 
#define VPI_BACKEND_MASK   ((VPI_BACKEND_INVALID << 1) - 1)
 仅 Tegra 后端。
 
#define VPI_BACKEND_ALL    (VPI_BACKEND_CPU | VPI_BACKEND_CUDA | VPI_BACKEND_PVA | VPI_BACKEND_VIC | VPI_BACKEND_NVENC | VPI_BACKEND_OFA)
 所有后端。
 
enum  VPIBackend
 VPI 后端类型。 更多...
 

详细描述

定义了使用 VPI 编程所需的所有类型。

文件 Types.h 中的定义。


数据结构文档

◆ VPIBriefDescriptor

struct VPIBriefDescriptor

存储 BRIEF 描述符。

在文件 Types.h 的第 373 行定义。

+ VPIBriefDescriptor 的协作图
数据字段
uint8_t data[VPI_BRIEF_DESCRIPTOR_ARRAY_LENGTH] BRIEF 描述符的描述向量。

宏定义文档

◆ VPI_EXCLUSIVE_STREAM_ACCESS

#define VPI_EXCLUSIVE_STREAM_ACCESS   (1ULL << 16)

指定内存将一次仅由一个流访问。

默认情况下,创建内存的方式是允许多个流同时访问以进行读取。这样做可能会导致系统资源利用率增加。通过在创建 VPIImage、VPIArray 或 VPIPyramid 时指定此标志,当已知它们不会被不同的流并发使用时,可以实现更好的资源分配。

在文件 Types.h 的第 136 行定义。

◆ VPI_RESTRICT_MEM_USAGE

#define VPI_RESTRICT_MEM_USAGE   (1ULL << 17)

限制内存资源使用量的标志。

当作为标志传递给某些 VPI 函数时,它将指示它们使用更少的内存资源,以换取限制其功能。有关所涉及权衡的进一步解释,请参阅这些函数的文档。

在文件 Types.h 的第 146 行定义。

◆ VPI_REQUIRE_BACKENDS

#define VPI_REQUIRE_BACKENDS   (1ULL << 18)

要求创建请求的后端。

设置此标志后,创建函数将要求创建给定的后端。如果任何一个失败,创建函数将返回错误。如果未设置,它将尝试启用给定的后端,但禁用与对象参数不兼容或在当前上下文中未启用的后端。

注意
当应用于上下文时,此标志不会传播到在此上下文处于活动状态时创建的对象。

在文件 Types.h 的第 159 行定义。

◆ VPI_STAT_PIXEL_COUNT

#define VPI_STAT_PIXEL_COUNT   (1U << 0)

定义要计算的统计信息。

计算像素数

在文件 Types.h 的第 755 行定义。

枚举类型文档

◆ VPICornerScore

定义不同类型的角点得分。

枚举器
VPI_CORNER_SCORE_HARRIS 

使用 Harris 响应角点得分。

VPI_CORNER_SCORE_FAST 

使用 FAST 角点得分。

在文件 Types.h 的第 354 行定义。

◆ VPITrackingState

对象跟踪状态。

枚举器
VPI_TRACKING_STATE_LOST 

对象不再被跟踪。

此状态可以由用户设置,当此对象不再需要被跟踪时,或者由跟踪函数根据某些跟踪置信度标准设置。状态为 VPI_TRACKING_STATE_LOST 的现有对象可以重复用于新对象。从此状态的有效转换是

VPI_TRACKING_STATE_NEW 

要跟踪的新对象。

此状态由用户为要跟踪的新对象定义。从此状态的有效转换是

VPI_TRACKING_STATE_TRACKED 

对象正在以高置信度被跟踪。

对象正在输入帧中被定位,并且由于外部建立了高置信度,认为边界框是准确的,因此可以使用当前估计的位置更新其内部模型。从此状态的有效转换是

VPI_TRACKING_STATE_SHADOW_TRACKED 

对象正在以低置信度被跟踪。

对象在帧中被定位,但由于对其边界框位置/大小的置信度较低,因此其模型未被更新。从此状态的有效转换是

在文件 Types.h 的第 444 行定义。

◆ VPIFlipMode

定义图像翻转方向。

这被诸如 图像翻转 等算法使用

枚举器
VPI_FLIP_HORIZ 

水平翻转。

VPI_FLIP_VERT 

垂直翻转。

VPI_FLIP_BOTH 

水平和垂直翻转。

这有效地将图像旋转 180 度。

在文件 Types.h 的第 708 行定义。

◆ VPINormType

定义向量的大小。

这被诸如 Canny 边缘检测器 等算法使用

枚举器
VPI_NORM_L1 

L1 范数。

VPI_NORM_L2 

L2 范数。

VPI_NORM_HAMMING 

汉明范数。

在文件 Types.h 的第 726 行定义。

◆ VPIGradientMethod

生成梯度的不同方法。

枚举器
VPI_GRADIENT_SOBEL 

通过 sobel 算子生成 x 方向和 y 方向的梯度。

VPI_GRADIENT_BLUR_PREWITT 

通过在模糊输入图像上使用 prewitt 算子生成梯度。

在文件 Types.h 的第 742 行定义。